Agile Methods
Introduction Agile development of software describes a collection of development methods that base on iterative development. The process involves requirements together with solutions evolving via collaboration in between cross-functional teams that are self-organizing. Agile methods, in general, promote a project management process that is disciplined and encourages regular adaptation and inspection. In addition, it encourages a philosophy of leadership in teamwork, accountability, and self-organization of a group of best practices in engineering so as to deliver high-quality software as well as an approach in business, which makes an alignment of company goals with customer needs. Although agile methods share more of the same philosophy, during implementation, each has its own tactics. A discussion of them is described below (C Prime 1). Agile Scrum Methodology Agile scrum methodology describes as a project management framework that is lightweight and is applied broadly to management and control of iterative as well as incremental projects of all types. The method is broadly used in software development because of its simplicity, productivity that is high and its potential to perform as a wrapper in varied engineering practices boosted through other agile methods (Version One 1). Other Methodologies Another method is the Lean and Kanban software development methodology. The Lean software development is derived from the lean enterprise movement together with the operations of entities such as Toyota. The method puts focus on the team to deliver value to the customer and on the mechanisms in place to deliver value. The principles of this technology are waste elimination, amplification of learning, making decisions with minimal time, making deliveries very fast, team empowerment, integrity building, and viewing the whole. Kanban method, on the other hand, works on the principle of creation of products with continual development without putting the burden on the development team. It is a system that puts teams to work together more efficiently. It bases on three principles, which are visualizing what you do now (workflow), limiting work progress amount as well as enhancement of flow (Version One 1). Extreme Programming (XP) comes in as the third method that is a disciplined methodology meant to deliver high-quality software very fast and continuously. It works on systems that involve customers highly, fast feedback loops, continuous planning, testing continuously together with close teamwork so as to make delivery of software at very frequent intervals. The method based on values of communication, simplicity, courage, and feedback. In addition, other supporting practices such as game planning, customer acceptance tests as well as pair programming are employed (Guru 99 1). Crystal methodology comprises a set of combined agile methods such as crystal orange, yellow or crystal clear. The unique attributes of these are influenced by system criticality, project priorities and team size. This combination of methods focuses on a realization that every project requires a slightly tailored combination of practices, processes, and policies to unique project’s characteristics being met. Another method is the Dynamic System Development Method (DSDM) which replaced the Rapid Application Development (RAD) model in order to have a project delivery framework that is standard being delivered in the market rapidly. The method is based on principles of active user involvement, frequent deliveries, stakeholder collaboration, integrated testing and a focus on business needs. DSDM puts emphasis on “fitness for business purpose” to form the main criteria for acceptance and delivery of the system (Version One 1). The final method to this is the Feature Driven Development Methodology, which describes a model-driven and short iteration process. Steps in it are starting by the establishment of a model shape that is overall, then a two week system of “design by feature, build by feature” iterations. It has small features that are useful in the eye of the results of the client. In the process of development, it majorly focuses on delivery of features with the following procedures; domain object modeling, class ownership, feature teams, developing by feature, configuration management, regular builds, and inspections (Version One 1). Work Cited C Prime. ''What is agile? What is Scrum? ''May 2014. Web. 5 November 2017. Version One. ''What is agile methodology? ''February 2017. Web. 5 November 2017. < https://www.versionone.com/agile-101/agile-methodologies/> Guru 99. ''Agile Mode & Methodology: Guide for Developers and Testers. ''January 2017. Web. 5 November 2017.